package com.itlxd.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itlxd.dto.PageDTO;
import com.itlxd.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 菜品及套餐分类 服务类
 * </p>
 *
 * @author ${author}
 * @since 2021-12-25
 */
public interface ICategoryService{

    /**
     * 分页查询菜品和套餐
     * @param pageDTO
     */
    IPage<Category> listPageCategories(PageDTO pageDTO);

    /**
     * 添加菜品和套餐
     * @param category
     * @return
     */
    Integer saveCategory(Category category);


    /**
     * 修改分类
     * @param category
     * @return
     */
    Integer updateCategory(Category category);

    /**
     * 通过id删除分类
     * @param id
     * @return
     */
    Integer removeById(Long id);

    /**
     * 根据条件查询分类列表
     * @param category
     * @return
     */
    List<Category> listCategories(Category category);

    /**
     * 查询分类下的菜品和套餐数量
     * @param id
     * @return
     */
    Integer countDishAndSetmeal(Long id);

    /**
     * 根据id查询分类信息
     * @param id
     * @return
     */
    Category getById(Long id);
}
